import Vue from 'vue'
import Vuex from 'vuex'
import { setItem, getItem, removeItem } from '@/utils/storage'
Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 初始化vuex中的初值的时候 先从本地存储中获取 如果取不到 则初始值为空
    tokenInfo: getItem('tokenInfo') || {},
    // 保存用户的id name photo
    userInfo: getItem('uerInfo') || {}
  },
  mutations: {
    // mutations修改token的值
    mSetTokenInfo (state, tokenObj) {
      // 保存到vuex中
      state.tokenInfo = tokenObj
      // 保存到本地中
      setItem('tokenInfo', tokenObj)
    },
    // 删除vuex中的token信息
    mClearToken (state) {
      state.tokenInfo = {}
      removeItem('tokenInfo')
    },
    // 保存用户的信息
    mSetUserInfo (state, userInfo) {
      state.userInfo = userInfo
      setItem('userInfo', state.userInfo)
    },
    // 修改用户中的头像
    mSetUserPhoto (state, photo) {
      state.userInfo.photo = photo
      setItem('userInfo', photo)
    }
  },
  actions: {
  },
  modules: {
  }
})
